import Cookies from 'js-cookie'
import store from '@/store'
import router from '@/router'
import { Message } from 'element-ui'
const TokenKey = 'Admin-Token'

export function getToken() {
  return Cookies.get(TokenKey)
}

export function setToken(token) {
  return Cookies.set(TokenKey, token)
}

export function removeToken() {
  return Cookies.remove(TokenKey)
}

export function initConfig() {
  store
    .dispatch('GetInfo')
    .then(() => {
      // TODO
      // store.dispatch('GenerateRoutes').then(accessRoutes => {
      //   // 根据roles权限生成可访问的路由表
      //   router.addRoutes(accessRoutes) // 动态添加可访问路由表
      //   next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
      // })
      const routerRes = store.dispatch('GenerateRoutes')
      const skinRes = store.dispatch('app/InitSkin')
      Promise.all([routerRes, skinRes]).then(promiseAll => {
        // 根据roles权限生成可访问的路由表
        router.addRoutes(promiseAll[0]) // 动态添加可访问路由表
      })
    })
    .catch(err => {
      store.dispatch('LogOut').then(() => {
        Message.error(err)
        next({ path: '/' })
      })
    })
}
